Current graphics data processing includes systems and methods developed to perform a specific operation on graphics data, e.g., linear interpolation, tessellation, rasterization, texture mapping, depth testing, etc. More recently, portions of graphics processors are programmable, supporting a wider variety of operations for processing vertex data and fragment data. However, these graphics processors also include several fixed function computation units to perform specific operations, particularly for performing texture mapping operations, such as level of detail (LOD) computations, determination of addresses used to read texture data, and filtering. The fixed function computation units for performing texture mapping are configured in a pipeline that is dedicated to performing the texture mapping operations specified by texture map instructions. When texture map instructions are not used to process graphics data, the pipeline is idle. Likewise, when many texture map instructions are executed to perform texture mapping operations, a bottleneck may develop in the pipeline, thereby limiting performance.
Accordingly, it would be desirable to provide improved approaches to performing texture operations to better utilize one or more processing units within a graphics processor.